/*
 * <p>Copyright ®Alyce_WX版权所有。</p>
 * 类名:RoleDAO
 * 创建人:alyce_wx
 * 创建时间:2017-03-30
 */

package com.wx.demo.wcd.infrastructure.dao;

import java.util.Map;

import com.yjhl.framework.dao.DAO;
import com.wx.demo.wcd.domain.po.RolePO;
import com.wx.demo.wcd.domain.pk.RolePK;
import com.wx.demo.wcd.domain.qo.RoleQO;

/**
 * RoleDAO interface
 *
 * @author alyce_wx
 * @since 1.8
 * @version 1.0.0
 */

public interface RoleDao extends DAO<RolePO, RoleQO, RolePK> {
	
	/**
	 * 根据主键标识 roleId获取RolePO对象。
	 *
	 * @param roleId Role的主键标识
	 * @return RolePO对象， 如果没有查询到结果返回null
	 * @since 1.8
	 * @version 1.0.0
	 */
	public RolePO getByPk(String roleId);
	
	/**
	 * 使用Map类型的参数根据主键标识roleId对表Role进行更新。 Map中的key必须是RolePO的属性名称。
	 *
	 * @param entity 要进行更新的列。Map中的key必须是RolePO的属性名称。
	 * @param roleId Role的主键标识.
	 * @return 更新记录的条数
	 * @since 1.8
	 * @version 1.0.0
	 */
	public int updateMapByPk(Map<String, Object> entity, String roleId);
	
	/**
	 *  根据主键标识roleId删除数据。
	 *
	 * @param roleId Role的主键标识。
	 * @return 删除记录条数
	 * @since 1.8
	 * @version 1.0.0
	 */
	public int deleteByPk(String roleId);
}
